A common system topology in a database system is an application or component utilizing a single connection to a database or other resource that is a set of data desired to be transactionally consistent. Such application components are typically specialized code that can take advantage of intrinsic transaction mechanisms of the database to optimize processing performance. While this technique enhances performance, it can severely limit re-use of the component in other applications—especially if the other applications involve topologies having more than one database connection. It can also result in a more complex environment for a developer.
One way in which this problem has been handled is to construct more generalized components that are able to handle various topologies. This typically means handling a single connection topology in a similar way that a multiple connection topology is handled. But this model degrades performance by requiring a simpler topology to perform processing steps that are really only necessary with processing in a more complex topology. When such a component is used in a single connection topology, unnecessary overhead costs are thus incurred.